This invention generally relates to programmable logic controllers that direct the automatic operation of such as machine tools, and process equipment to manufacture goods and chemicals, and particularly relates to furnishing true real-time control of such programmable logic controllers (PLCs) through a general purpose spreadsheet program operating in a personal computer.
Machine tools such as screw machines have come to be operated automatically. This eliminates the cost of manual labor in operating the machine and can achieve more uniform products. The automation originally occurred by arranging relays to perform the logical functions of proceeding through a manufacturing process. Switches sensed the movement of tools relative to the work piece and caused the opening and closing of the relays; the relays in turn caused the sequential selection and operation of different tools on the work piece.
Much skill is required however to design the system, to set-up the limit switches at the proper locations, to connect the switches to the proper relay solenoids and to connect the relay contacts to the proper motors, timers and solenoid controlled valves in achieving the automated operation. Changing even one dimension of a part being made or one process variable in a chemical reaction moreover required skilled labor to re-wire the control switches or relays. Such systems worked well in producing large numbers of parts from a single set-up, but the development of manufacturing fewer numbers of more customized parts on one machine made the frequent changes of the relay controlled machines too expensive.
Responsive to this rise in cost, PLCs replaced the relay controls. PLCs furnished a fixed wiring from the switches, motors, and solenoid valves to a general purpose logic device. This eliminated rewiring the controls for each different part or variation of a part to be made. The set-up for each different part or variation of a part then only required changing the logical commands in the logic device. With the advent of the microcomputer as the logic device, changing the logical commands in the logic device became a matter of re-programming the microcomputer. Skilled labor then only had to write one program to make each different part or variation of a part, and an unskilled operator then could load the different programs into the PLC as desired to make a desired part. This substantially eliminated costly set-up for each different part; the manufacture of that part or the running of that process was fixed, however, by the fixed nature of the program.
The fixed nature of the program does not always allow for varying automatic operation of the screw machine, for example as the material of the work piece varies, or for example as the characteristics of a process feedstock vary. Moreover, the fixed program does not allow an operator to vary the manufacturing or processing parameters as changes occur in the manufacturing or processing operation to achieve desired efficiencies and levels of quality.
The PLCs have been linked together in networks over co-axial cable to co-ordinate the operation of an entire manufacturing or processing plant. The network require separate interface modules terminating each drop of the co-axial cable to perform the necessary handshaking for positive message transfer between the addressable registers of the PLCs. These messages usually comprise status information indicating the condition of the sensors and drives of each machine tool or processing station and control information commanding the operation of the drives or valves of the tools or stations. The messages also can contain numerical information indicating the number of parts made or the temperature or pressure of a point in a process.
A centrally located programming device can also be connected to the network to change the program or sequence of logical steps to be implemented by any selected PLC on the network. Such a programming device can be a personal computer, for example an IBM or IBM-compatible personal computer, operating a program that displays relay ladder diagram charts that a skilled user develops to create desired logical steps for a PLC. The personal computer also contains a network interface circuit card, connected to the co-axial cable, that handles the network handshaking and positive message transfer in response to commands by the personal computer written to and from accessible registers on the circuit card. The registers of the interface card are available to programs running in the personal computer able to access them to enable customized programs to send and receive messages across the PLC network.
Programming the PLC's over the network with the relay ladder diagram chart program in a personal computer enables a programmer to change the set operation of a machine or process as desired. The operation at the personal computer, however, is still one step, the programming step, removed from personally controlling operation of the machine tool or process station. Any manufacturing changes desired by the operator must be implemented through re-programming the individual PLC.
Developing customized programs that directly enable an operator at a personal computer to supervise and actually control the automatic operation of the PLCs quickly becomes expensive due to the large amount of highly skilled labor required. Such custom programs obtain stated information from the PLCs as it occurs and send control information in response to changes in the status information. Such information exchange is described as "real time" to emphasize that there exists little or no delay in receiving the information after the information becomes "real" or available. The cost of updating or varying the customized programs to provide flexibility in the automated operation of an entire plant becomes prohibitive. Further, varying custom programs often reaches a point where the cost of making the variation within the restraints of the original program exceeds the cost of writing a new custom program. The exchange of "real time" information stands as the key to true operator control of the manufacturing plant.
Programs have become available that strive to provide this real time exchange of information in controlling, monitoring and analyzing processes and instrumentation. The user provides a circuit card interface between his process or instruments and the personal computer. The user also writes a device driver program for the personal computer that facilitates the operating system program to communicate with the circuit card interface. The user then installs a commercially available information acquisition program to transfer the desired information between the operating system program and popular and commercially available spreadsheet, data base and analysis programs. The user then exercises control of the manufacturing processes from the spreadsheet, data base or data analysis program through the information acquisition program. This, however, has some undesirable aspects.
From the user's perspective, every transfer of information to and from the spreadsheet, data base or analysis program must occur through menu selected keystroke commands. Sending information to a PLC occurs by transfers to the acquisition program, the operating system program, the device driver program, the interface card, and the network to the addressed PLC registers. Reading from addressed PLC registers requires sending a transmit command to the addressed PLC in the described sending sequence and then sending a read command to the acquisition program to get the transmitted information from reply registers in the interface card through the device driver program, the operating system program and the acquisition program. While the speed of personal computers reduces all of these transfers to short, almost unnoticeable periods, there are still some things that cannot be done. For example, the calculation of the arguments contained in the cells of a spreadsheet program cannot directly move information between addressable registers of a PLC and the cells of a displayed spreadsheet. Also, writing a device driver for the interface card remains a time consuming and highly skilled task.